home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1996 #3
/
Amiga Plus CD - 1996 - No. 3.iso
/
demo-versionen
/
databaseprofessional_v3.0
/
clipart
/
overview.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1995-08-27
|
5KB
|
228 lines
/* Overview.rexx (ClipArt Version), 26.08.95 Jörg Richter */
ARG book
OPTIONS RESULTS
thumbsize = 140
ADDRESS DataBase
GetMaskSize
size = result
width = WORD(size,1)
height = WORD(size,2)
xoff = (width-((width%thumbsize)*thumbsize))%2
yoff = 30
LoadGadgets "Clipart/IdxGadgets/"
Display Off
doit = 1
stext = "Bitte wählen Sie ..."
DO FOREVER
IF doit = 1 THEN DO
Current
nr = result
CALL Overview
END
WaitCommand stext
command = result
stext = "Bitte wählen Sie ..."
doit = 0
IF WORDS(command) > 1 THEN DO
mx = WORD(command,1)
my = WORD(command,2)
qual = WORD(command,3)
Current
ds = result
IF qual = 10 THEN DO /* Gadget */
IF mx = 1 THEN DO /* <- */
command = 79
END
IF mx = 2 THEN /* -> */
command = 78
IF mx = 9 THEN DO /* Abbruch */
Goto nr
Call Cancel
END
IF mx > 2 & mx < 8 THEN DO
WaitCommand "Bitte wählen Sie das Bild aus ..."
command = result
IF WORDS(command) > 1 THEN DO
IF mx = 3 THEN qual = 0
IF mx = 4 THEN qual = 2
IF mx = 5 THEN qual = 3 /* DTP */
IF mx = 6 THEN qual = 9 /* Info */
IF mx = 7 THEN qual = 1
mx = WORD(command,1)
my = WORD(command,2)
END
END /* IF mx > 2 */
IF mx = 8 THEN command = 95 /* Inhalt */
END /* IF qual = 10 */
IF qual < 10 THEN DO
my = my - ((my-yoff)%thumbsize)*10
select = nr + (mx-xoff)%thumbsize + ((my-yoff)%thumbsize)*(width%thumbsize)
Goto select
SELECT
WHEN qual = 0 THEN
Execute 1
WHEN qual = 1 THEN DO /* SHIFT */
Call Cancel
END
WHEN qual = 2 THEN DO /* CTRL */
p1 = (mx-xoff)%thumbsize
p2 = (my-yoff)%thumbsize
Mark
IF RC = 5 THEN DO
BoxFill p1*thumbsize+xoff+thumbsize-8 p2*thumbsize+yoff+10*(p2+1)-4 5 5 1
stext = "Clip markiert"
END
ELSE DO
BoxFill p1*thumbsize+xoff+thumbsize-8 p2*thumbsize+yoff+10*(p2+1)-4 5 5 2
stext = "Clip demarkiert"
END
END
WHEN qual = 3 THEN DO /* AMIGA */
GetData $F1
data = result
pos = LastPos("/",data)
CopyToClip LEFT(data,pos) || D2C(10) || SubStr(data,pos+1,Length(data)-pos)
stext = " Clipname ins Klemmbrett kopiert"
END
WHEN qual = 9 THEN DO /* Info */
GetData $F2
fsize = result
GetData $F3
psize = result
stext = "Dateilänge: " || fsize || " KBytes Bildgröße: " || psize
END
OTHERWISE
END /* SELECT */
Goto ds
command = 999
END /* IF qual < 10 */
END /* IF WORDS */
IF command = 27 | command = 0 THEN DO /* ESC */
Goto nr
Call Cancel
END
IF command = 79 THEN DO /* <- */
Current
ds = result
IF nr > 1 THEN DO
go = nr - (width%thumbsize)*(height%thumbsize)
IF go < 1 THEN go = 1
DO WHILE ds > go
LeftOne
ds = ds - 1
IF ds = nr-1 THEN DO
GetData $F4
old = result
pos = LastPos("/",old)
old = SubStr(old,1,pos)
END
IF ds < nr-1 THEN DO
GetData $F4
name = result
pos = LastPos("/",name)
IF COMPARE(SubStr(name,1,pos),old) ~= 0 THEN DO
ds = go
RightOne
END
END
END /* DO WHILE */
doit = 1
END /* IF nr > 1 */
END /* IF command = 79 */
IF command = 78 | command = 32 THEN /* -> */
doit = 1
IF command = 95 THEN DO /* HELP */
Display On
ADDRESS COMMAND 'SYS:Rexxc/Rx Clipart/Book ' || book
Display Off
doit = 1
END /* IF command = 95 */
END /* DO FOREVER */
EXIT
ShowPicture:
ARG xx yy .
GetData $F4
name = result
pos = LastPos("/",name)
IF COMPARE(SubStr(name,1,pos),old) ~= 0 THEN DO
x = width
y = height
LeftOne
END
ELSE DO
LoadPic name xx yy CENTER
Box xx+13 yy+13 124 124 1
SetFont helvetica.font 11 0
Text xx+12 yy+11 1 UPPER(SubStr(name,pos+1,Length(name)-pos))
SetFont RESET 0
IsMarked
IF RC = 0 THEN
BoxFill xx+thumbsize-8 yy+6 5 5 1
END
RETURN
Overview:
x = xoff
y = yoff
GetData $F1
title = result
pos = LastPos("/",title)
BoxFill 1 1 width-1 height-1 2
SetFont Helvetica.font 15 0
Text xoff+13 20 1 SubStr(title,1,pos-1)
SetFont RESET 0
Line xoff+13 23 width-xoff-38 0 1
GetData $F4
old = result
pos = LastPos("/",old)
old = SubStr(old,1,pos)
weiter = 1
DO WHILE weiter = 1
CALL ShowPicture x y
x = x + thumbsize
IF x > width-thumbsize THEN DO
IF y < height-(thumbsize*2) THEN DO
x = xoff
y = y + thumbsize + 10
END
ELSE
weiter = 0
END
RightOne
IF RC ~= 0 THEN
weiter = 0
END
RETURN
Cancel:
Display On
LoadGadgets RESET
Show NEW
EXIT